#include "stm32f10x.h"                  // Device header
#include "bsp_Led.h"
#include "usart.h"
#include "delay.h"
#include "MFRC522.h"
#include "string.h"

unsigned char buf[20];  //存放卡序号
unsigned char bufPSW[20]={0xfc,0xb9,0x90,0x02};

int main(){
	unsigned char status;		//返回符
	unsigned int temp,i;
	
	SystemInit();//配置系统时钟为72M，加不加这行代码都是默认72M，但是可以去这个函数里面修改M
	delay_init(72);
	USART1_Config();
	LED_CPIO_Init();
	MFRC522_Init();
	printf ( "MFRC522 Test\r\n" );
	delay_ms(1000);
	MFRC522_Reset ();
  /*设置工作方式*/
	//M500PcdConfigISOType ( 'A' );
	while(1){
		status = MFRC522_Request(PICC_REQALL, buf);//寻卡
			if (status != MI_OK)
			{    

				printf("\r\n寻卡失败\r\n");
					MFRC522_Reset();
					MFRC522_AntennaOff(); 
					MFRC522_AntennaOn(); 
				//LED_G(OFF);
					continue;
			}
			status = MFRC522_Anticoll(buf);//防冲突
			if (status != MI_OK)
			{    
						continue;    
			}
			
			////////以下为超级终端打印出的内容////////////////////////

			printf("\r\n卡序列号：\r\n");	//超级终端显示,
			if(strncmp((const char*)bufPSW, (const char*)buf,4)==0){
				LED_G(ON);
			}
			else{
				LED_G(OFF);
			}
//			for(i=0;i<4;i++)
//			{
//					if(bufPSW[i]!=buf[i]){
//						temp=0;
//						continue;
//					}
//					temp=1;
//			}
//			if(temp==1){
//				LED_G(ON);
//			}
//			else{
//					LED_G(OFF);
//			}
			
			printf("\r\n");
	}
}
